import { http } from '@/utils'

/**
 * 响应数据
 */
export interface ArticleListRes {
  /**
   * 请求下一页数据的时间戳，用于做加载更多效果
   */
  pre_timestamp: string
  /**
   * 响应结果数组
   */
  results: ArticeInfo[]
}

/**
 * 文章信息
 */
export interface ArticeInfo {
  /**
   * 文章id
   */
  art_id: string
  /**
   * 文章作者id
   */
  aut_id: string
  /**
   * 文章作者名字
   */
  aut_name: string
  /**
   * 文章评论数量
   */
  comm_count: number
  /**
   * 文章封面
   */
  cover: ArticleCover
  /**
   * 文章是否置顶，0未置顶1置顶
   */
  is_top: number
  /**
   * 文章发布时间
   */
  pubdate: string
  /**
   * 文章标题
   */
  title: string
}

/**
 * 文章封面
 */
export interface ArticleCover {
  /**
   * 文章封面图片地址数组
   */
  images?: string[]
  /**
   * 文章封面类型，0是无封面, 1是1张封面, 3是3张封面
   */
  type: number
}

/**
 * 获取-文章列表
 * @param channel_id 频道id (0是推荐频道)
 * @param timestamp 此值需要上一次网络请求里pre_timestamp的值, 用于请求下一段数据
 * @returns
 */
export function fetchArticleList(channel_id: string, timestamp: string) {
  return http<ArticleListRes>({
    url: `/articles?channel_id=${channel_id}&timestamp=${timestamp}`
  })
}
